#ifndef __KYLIN_FYKEY_H_
#define __KYLIN_FYKEY_H_

#include "type.h"

#include "ukey-macro.h"

#ifdef ENABLE_FYKEY

/*
 * activate system with fangyuan key
 * return NO_ERROR if succeed, or error number if not
 */
int fykey_activate_system(const char* license_serial, 
			  const char* kyinfo_ukey, const char* expire_date, 
			  encrypted_number_generator ukey_raw_generator);

/*
 * get hid of fangyuan key
 * return NO_ERROR if succeed, or error number if not
 */
char* fykey_get_hid();

/*
 * dump fangyuan key information to file f
 * encrypt: whether encryption is needed or not
 * display_all: whether display all information or not
 * return NO_ERROR if succeed, or error number if not
 */
int fykey_dump();

/*
 * find fangyuan key
 * return NO_ERROR if fangyuan key is inserted, or error number if not
 */
int fykey_find(unsigned int* count);

#endif // ENABLE_FYKEY

#endif
